package fun.formoji.commons.util;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import fun.formoji.commons.model.PageVo;
//import io.lettuce.core.internal.LettuceLists;

import java.util.List;

/**
 * <code>PageUtils</code>
 * <desc>
 * 描述：
 * <desc/>
 * <b>Creation Time:</b> 2020/12/7 16:53.
 *
 * @author hshe
 */
public class PageUtils {
    public static <T> PageVo<T> convert(Page<T> page) {
        PageVo<T> pageVo = new PageVo<>();
        pageVo.setPage(page.getCurrent());
        pageVo.setPageSize(page.getPages());
        pageVo.setTotal(page.getTotal());
        pageVo.setRecords(page.getRecords());
        return pageVo;
    }

    public static <T, E> PageVo<E> convert(Page<T> page, List<E> records) {
        PageVo<E> pageVo = new PageVo<>();
        pageVo.setPage(page.getCurrent());
        pageVo.setPageSize(page.getPages());
        pageVo.setTotal(page.getTotal());
        pageVo.setRecords(records);
        return pageVo;
    }

//    public static <T> PageVo<T> nullPage() {
//        PageVo<T> pageVo = new PageVo<>();
//        pageVo.setPage(0);
//        pageVo.setPageSize(0);
//        pageVo.setTotal(0);
//        pageVo.setRecords(LettuceLists.newList());
//        return pageVo;
//    }
}
